package com.rentong.wx.cust.service;

import com.rentong.wx.cust.domain.CustServiceOrderEntity;
import com.rentong.wx.cust.dto.*;

import java.math.BigDecimal;
import java.util.List;

/**
 *
 * @author zhangle
 * @email 459343178@qq.com
 * @date 2024-12-24 14:42:32
 */
public interface CustServiceOrderService {

    Integer insertServiceInformation(Long custId,String[] tuArray,Integer[] tuType, ServiceAddressDto serviceAddressDto);

    List<CustServiceOrderVo> getCustServiceOrderList(CustServiceOrderDto custServiceOrderDto);

    CusServiceOrderInfoVo getCusServiceOrderInfo(Long serviceOrderId);

    List<ChefOrderVo> getChefOrderList(Long custId, ChefOrderListDto chefOrderListDto);

    Object baojia(baojiaDto baojiaDto, Long custId);

    void confirmOrder(Long custId, Long serviceOrderId, Integer type);

    List<ServiceOrderChefVo>  getOrderChefList(Long serviceOrderId, BigDecimal longitude,BigDecimal latitude);

    void startService(StartServiceDto startServiceDto, Long custId);

    List<CustServiceOrderEntityDto> getUserOrderList(CustServiceOrderEntityDto custServiceOrderEntityDto);

    Object insertOrder(CustServiceOrderEntityDto custServiceOrderEntityDto) throws Exception;

    Object daifuOrder(CustServiceOrderEntityDto custServiceOrderEntityDto) throws Exception;

    void cancelOrder(CustServiceOrderEntity custServiceOrderEntity);

    CustServiceOrderEntityDto getOrderByServiceOrderId(CustServiceOrderEntityDto custServiceOrderEntityDto);

    String cancelOrder(UpdateOrderDto updateOrderDto, Long custId);

    void refuseChef(UpdateOrderDto updateOrderDto);

    Object chooseChef(UpdateOrderDto updateOrderDto);

    Object deleteOrder(Long serviceOrderId);

    void confirmServiceOrder(Long serviceOrderId);

    void pickChef(Long serviceOrderId, Long chefId);

    void cancelYuYue(Long serviceOrderId, Long currentCustId);

    void handleShouhou(Long serviceOrderId, Long type,String refuse);
}

